
meta : {
		group : [{
			column : 'model_name',
			name : '模型组名称',
			group : '基本属性'
		}, {
			column : 'physical_name',
			name : '下属模块对象前缀',
			group : '基本属性'
		}],
		model : [{
			column : 'physical_name',
			name : '物理名称',
			group : '基本属性'
		}, {
			column : 'model_name',
			name : '显示名称',
			group : '扩展属性'
		}, {
			column : 'created',
			name : '是否已构库',
			group : '扩展属性',
			type : 'boolean',
			editable : false
		}, {
			name : '数据表权限',
			group : '扩展属性'
		}, {
			name : '数据页面',
			group : '扩展属性'
		}, {
			name : '生成菜单',
			group : '扩展属性'
		}],
		column : [{
			column : 'physical_name',
			name : '物理名称',
			group : '基本属性'
		}, {
			column : 'column_type',
			name : '字段类型',
			group : '基本属性'
		}, {
			column : 'column_length',
			name : '字段长度',
			group : '基本属性',
			type : 'number'
		}, {
			column : 'nullable',
			name : '是否可空',
			group : '基本属性',
			type : 'boolean'
		}, {
			column : 'default_value',
			name : '默认值',
			group : '基本属性'
		}, {
			column : 'column_name',
			name : '显示名称',
			group : '扩展属性'
		}, {
			column : 'created',
			name : '是否已构库',
			group : '扩展属性',
			type : 'boolean',
			editable : false
		}, {
			column : 'range',
			name : '选择范围',
			group : '扩展属性'
		}, {
			column : 'formatter',
			name : '格式化字符串',
			group : '扩展属性'
		}, {
			column : 'validator',
			name : '正确性校验正则表达式',
			group : '扩展属性'
		}],

		getSource : function(type, value) {
			var o = value || {}, m = this[type], s = [];
			for ( var i = 0; i < m.length; i++) {
				var mi = m[i];
				mi.value = o[mi.column] || '';
				s.push(mi);
			}
			return s;
		},

		customEditors : {
			column_type : new Ext.grid.GridEditor(new Ext.form.ComboBox({
				typeAhead : true,
				triggerAction : 'all',
				mode : 'remote',
				store : this.columnTypeStore,
				valueField : 'value',
				displayField : 'name'
			}))
		},

		customRenderers : {
			column_type : function(val, meta, record) {
				var i = this.columnTypeStore.find('value', val);
				if (i != -1) {
					var r = this.columnTypeStore.getAt(i);
					return r.get('name');
				}
				return val;
			}
		}
	},